package com.example.alibabavodossservice.oss;

import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 文件工具类
 *
 * @author xugenyin
 */
public class FileUtil {
    public static final String SUFFIX = "\\.(\\w+)$";

    /**
     * 获取文件扩展名
     *
     * @param file 文件
     * @return 文件扩展名
     */
    public static String getFileExtension(MultipartFile file) {
        String originalFileName = file.getOriginalFilename();
        Pattern pattern = Pattern.compile(SUFFIX);
        assert originalFileName != null;
        Matcher matcher = pattern.matcher(originalFileName);
        String fileExtension = null;
        while (matcher.find()) {
            fileExtension = matcher.group(1);
        }

        return fileExtension;
    }

    /**
     * 将多部分文件转换为文件
     *
     * @param multipartFile 多部件文件
     * @return 文件
     * 2023/09/27
     */
    public static File convertMultipartFileToFile(MultipartFile multipartFile) throws IOException {
        // 创建临时文件
        File tempFile = File.createTempFile("temp", null);
        // 将MultipartFile的内容写入临时文件
        multipartFile.transferTo(tempFile);
        return tempFile;
    }


}